package com.plian.system.entity.glcydgz;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.plian.system.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * @Author: zsk
 * @Description: 管理层考核进度跟踪-财务绩效
 * @Date: 2025/02/06
 * @Version: 1.0
 **/
@Data
@TableName("glc_business_progress")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "BusinessProgress对象", description = "管理层考核进度跟踪-财务绩效")
public class GlcBusinessProgress extends BaseEntity {

    /**
     * 主表id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "主表id")
    private Long baseBusinessProgressId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "财务绩效表id")
    private Long businessIndicatorsId;

    @TableField(value = "perform_calculate", updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "当月执行数-计算")
    private BigDecimal performCalculate;

    @TableField(value = "perform_fill", updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "当月执行数-填写")
    private BigDecimal performFill;

    @TableField(value = "adjust_reason", updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "调整原因")
    private String adjustReason;

    @TableField(exist = false)
    @ApiModelProperty(value = "指标id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long indicatorsCategoryId;

    @ApiModelProperty(value = "指标权重")
    private BigDecimal indicatorsWeight;

    @ApiModelProperty(value = "基准值")
    private BigDecimal baseline;

    @ApiModelProperty(value = "激励目标值")
    private BigDecimal target;

    @ApiModelProperty(value = "基本目标值")
    private BigDecimal basicTarget;

    @TableField(exist = false)
    @ApiModelProperty(value = "第三方指标id")
    private String indicatorsCodeId;
}
